#ifndef GEOM_PRIMITIVES_H
#define GEOM_PRIMITIVES_H

#include "IMesh.h"
#include "Vectors.h"
#include "BaseDefs.h"

namespace steam
{

	namespace moon
	{

		class GeomPrimitives
		{
		public:

			static coal::IMesh* createCube(float sideLength);

			static coal::IMesh* createPlane(float sideLength, const base::Vector3& normalAxis = base::Y);

			static coal::IMesh* createBox(float width, float length, float height);

			static coal::IMesh* createCylinder(float radius, float height, const base::Vector3& axis = base::X);

			static coal::IMesh* createTube(float radius, float height, const base::Vector3& axis = base::X);

			static coal::IMesh* createCircle(float radius, const base::Vector3& axis = base::Z);

			static void drawBox(const base::Vector3& size);

			static void drawBox(float width, float height, float length);

		};
	}
}

#endif